﻿using System.Reflection;
using Console = System.Console;

namespace SourceProject
{
    public static class MyPrinter
    {
        public static void PrintPath()
        {
            // 获取模块的完整路径。
            var moduleNameh = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName;
            Console.WriteLine($"模块文件: {moduleNameh}");

            // 获取应用程序的当前工作目录
            var dir1 = System.Environment.CurrentDirectory;
            Console.WriteLine($"当前工作目录: {dir1}");

            // 获取应用程序的当前工作目录
            var dir2 = System.IO.Directory.GetCurrentDirectory();
            Console.WriteLine($"当前工作目录: {dir2}");

            //获取基目录，它由程序集冲突解决程序用来探测程序集。
            var dir3 = System.AppDomain.CurrentDomain.BaseDirectory;
            Console.WriteLine($"冲突解决基目录: {dir3}");

            // 获取程序的基目录。
            var dir4 = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase;
            Console.WriteLine($"基目录: {dir4}");

            // 获取启动了应用程序的可执行文件的路径。
            var dir5 = System.Windows.Forms.Application.StartupPath;
            Console.WriteLine($"启动文件: {dir5}");

            // 获取启动了应用程序的可执行文件的路径及文件名
            var dir6 = System.Windows.Forms.Application.ExecutablePath;
            Console.WriteLine($"启动文件目录: {dir6}");
        }
    }
}
